#! /bin/bash 

#  引入区
## Shell 文件包含的语法格式如下：
##  . filename   # 注意点号(.)和文件名中间有一空格
## 或
## source filename
## 注：被包含的文件 filename1.sh  filename2.sh 不需要可执行权限。

# 将制定文件夹压缩，以时间

# 将文件夹打包tar
function tarFolderCompressionPackaging()
{
    # 第一个参数为 $1 为系统时间
    NowSystemDate=$1
    # 第二个参数为 $2 要备份的文件夹路径
    BackupFolderPath=$2
    # 第三个参数为 $3 要备份的文件夹路径
    BackupFolderSavePath=$3
    # 第四个参数为 $4 备份后打包的文件名
    BackupFolderSaveName=$4
    # 打包命令
    ##  tar -czvf /opt/ftp/soft_$date.tar.gz /usr/soft
    tar -czvf $BackupFolderSavePath/$BackupFolderSaveName$NowSystemDate.tar.gz $BackupFolderPath
}

# 将文件夹打包zip
function zipFolderCompressionPackaging()
{
    # 第一个参数为 $1 为系统时间
    NowSystemDate=$1
    # 第二个参数为 $2 要备份的文件夹路径
    BackupFolderPath=$2
    # 第三个参数为 $3 要备份的文件夹路径
    BackupFolderSavePath=$3
    # 第四个参数为 $4 备份后打包的文件名
    BackupFolderSaveName=$4
    # 打包命令
    ## # -x  排除指定文件的运用；压缩当前文件所有内容，出了 images和upload目录下的所有文件
    ## zip -r back.zip ./* -x "./images/*" -x "./upload/*"  
    zip -rv $BackupFolderSavePath/$BackupFolderSaveName$NowSystemDate.zip $BackupFolderPath
}

# 主程序函数
function main()
{
    ## 获取当前系统时间
    # NowSystemDatez=`date +"%Y%m%d%H%M%S%z"`
    ## 输出实例20190604163925+0800

    ## 获取当前系统时间
    NowSystemDateZ=`date +"%Y%m%d%H%M%S%Z"`
    ## 输出实例20190604163925CST

    ## 要备份的文件夹路径
    BackupFolderPath="/ServerPrj/GitLabZhCnDockerData/GitLabZhCnData/git-data/repositories"

    ## 备份的文件存放路径
    BackupFolderSavePath="/ServerPrj/ShellScript"

    ## 备份的文件名
    BackupFolderSaveName="GitlabZhRepositories"

    ## 将文件夹打包tar
    # tarFolderCompressionPackaging $NowSystemDateZ $BackupFolderPath $BackupFolderSavePath $BackupFolderSaveName

    ## 将文件夹打包zip
    zipFolderCompressionPackaging $NowSystemDateZ $BackupFolderPath $BackupFolderSavePath $BackupFolderSaveName
}

# 开始执行主程序函数
main
